package org.sglj.util; import java.util.Arrays; import junit.framework.Assert; import org.junit.Test; public class LinkedListTest { @Test public void testConcat01() { checkConcatenation(create(1, 2), create(3, 4, 5)); checkConcatenation(create(1, 2, 3, 4), create(3, 4)); } @Test public void testConcat02() { checkConcatenation(create(1), create(2, 3, 4)); checkConcatenation(create(1, 2, 3), create(4)); checkConcatenation(create(1, 2), create(3)); checkConcatenation(create(1), create(3, 4)); checkConcatenation(create(1), create(2)); } @Test public void testConcat03() { checkConcatenation(create(1), create()); checkConcatenation(create(), create(1)); checkConcatenation(create(), create()); } static void checkConcatenation(LinkedList<Integer> l1, LinkedList<Integer> l2) { System.out.println("----------"); int size1 = l1.size; int size2 = l2.size; java.util.LinkedList<Integer> expected = new java.util.LinkedList<Integer>(l1); expected.addAll(l2); System.out.println(l1); System.out.println("+"); System.out.println(l2); System.out.println("="); l1.concatenate(l2); System.out.println(l1); Assert.assertEquals(size1 + size2, l1.size()); Assert.assertTrue(l2.isEmpty()); Assert.assertEquals(l2.size(), 0); for (int i = 0; i < expected.size(); ++i) Assert.assertEquals(expected.get(i), l1.get(i)); } static LinkedList<Integer> create(Integer... arr) { return new LinkedList<Integer>(Arrays.asList(arr)); } }